Just uncovered this while doing some recreational opt dict refactoring:
>>> shlex.split(u'py3k')
['p\x00y\x003\x00k\x00']
>>> shlex.split('py3k')
['py3k']
This is 'fixed' by changing combine_cmds to use shlex.split(str(cmd)).
This happens if you use Python 2.7 JSON but not simplejson!