printf, malloc, free, write, open, read, close, fork, wait, waitpid, wait3, wait4, signal, kill, exit, getcwd, chdir, stat, lstat, fstat, execve, dup, dup2, pipe,opendir, readdir, closedir, strerror, errno, isatty, ttyname, ttyslot, ioctl, getenv, tcsetattr, tcgetattr, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs
◦ echo with option ’-n’
◦ cd with only a relative or absolute path
◦ pwd without any options
◦ export without any options
◦ unset without any options
◦ env without any options and any arguments
exit without any options
◦ ; in the command should separate commands like in bash
◦ ’ and " should work like in bash except for multiline commands
◦ Redirections < > “>>” should work like in bash except for file descriptor aggregation
◦ Pipes | should work like in bash except for multiline commands
◦ Environment variables ($ followed by characters) should work like in bash
◦ $? should work like in bash
◦ ctrl-C, ctrl-D and ctrl-\ should have the same result as in bash
◦ Use up and down arrows to navigate through the command using termcap (mandatory) history which we will then be able to edit (at least like we can for classic lines)
if we feel like it (the line, not the history).