This cleans up and simplifies the API by passing the command name as the first argument. Previously the command name was specified explicitly, but was still included in the argv. (cherry picked from commit a94ddb27fe919d60c598c2403b230b27c6e3a11c)