The system function hands the argument string to the command interpreter sh(1). The calling process waits for the shell to finish executing the command, ignoring SIGINT and SIGQUIT, and blocking SIGCHLD.
If string is a NULL pointer, system will return non-zero if the command interpreter sh(1) is available, and zero if it is not.
The system function returns the exit status of the shell as returned by waitpid(2), or -1 if an error occurred when invoking fork(2) or waitpid(2). A return value of 127 means the execution of the shell failed.
sh(1), execve(2), fork(2), waitpid(2), popen(3)