refactor to pass command name separately from executable path (as found on PATH) to execProcess so that we may, one day, set argv[0] correctly
properly pass the command name as argv[0] when running external commands
Fixes issue 8 - tabs are actually part of <blank>

Note: We don't have a way for doctest to inject tab characters so I can't write tests for this.