It looks like the 'numShards' argument is ignored by SolR. The number of shards is always defaulted to 1 unless cores are dynamically created with Collection API.
I had this log :
INFO: numShards not found on descriptor - reading it from system property, I looked for the piece of code where the log was located ((https://svn.apache.org/repos/asf/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/ZkController.java)) and I found a possible error :
log.info("numShards not found on descriptor - reading it from system property");
numShards = Integer.getInteger(ZkStateReader.NUM_SHARDS_PROP);