Thanks guys for taking a look.
Fixing the array syntax alone is not enough. When you invoke "hbase zkcli" it turns around and first invokes "hbase org.apache.hadoop.hbase.zookeeper.ZooKeeperMainServerArg" which will then pick up the server options, cause GC output to appear in standard out, which then gets picked up on the command line for zkcli causing it to fail.
Also, there are many other tools you can invoke that are more likely to "client" than "server" options. For example, "bin/hbase org.jruby.Main region_mover.rb" or "bin/hbase org.apache.hadoop.hbase.mapreduce.CopyTable" or "bin/hbase version" or "bin/hbase org.apache.hadoop.hbase.mapreduce.Export". The whitelist of server commands is shorter and easier to maintain than a whitelist of client commands.