Fix seg fault in run_cmd

parse_one was setting ret to part and then immediately freeing it before
returning.

Set it to xstrdup(part) instead.