Same as last commit, but rearranged execution to separate built-in and non built-in shell command.