I'm not sure how to change the expressions to work with reverse and apply (sorry). Here's how I understand it right now:

When `cmd` is evaluated it is one string `"auto dev"`. The `split-string` will put the new strings into a list `("auto" "dev")`. Then the strings need to break out of the list so `start-process` can read them as `"auto"` `"dev"`.