spawn subshell to preserve original directory