Process command line according to parsing rules of Unix shell as specified in Shell Command Language in POSIX.1-2008.
An error returned when shell parsing fails.
Joins arguments into a single command line suitable for execution in Unix shell.
Escapes special characters in a string, so that it will retain its literal meaning when used as a part of command in Unix shell.
Splits command line into separate arguments, in much the same way Unix shell would, but without many of expansion the shell would perform.