The builtin_cmd function returns 1 to eval if the command was one of the "builtin" commands and 0 otherwise.
For a return value of 1, eval should just return to main for the next command.
If the command was not built-in, however, eval must work!
Part of the work is:
- create a child process
- the child process uses the array result of parseline to execute the command.
- the parent (the shell), waits for the child or not depending on whether the command line ended with an ampersand &