When mutating a command like "cd X; ./cmd" to add the run_under
arguments (for example "taskset -c 1"), the mutated command needs to
maintain the "cd X;" part in the output command prefix:
"cd X; taskset -c 1 ./cmd"
If we don't do this, the mutated command cannot be parsed.
Use shellcommand.wrap() to mutate the command instead of string
concatenation, since shellcommand knows how to handle the
"cd X; ..".