User commands run in forked children like external commands, so they support piping, redirection, and capture seamlessly.