Shells and Security  The main problem with launching shells is
that attackers might execute  shell commands riding on the
system() or popen() function calls. An  attacker could include
special metacharacters and flags in the command  string being
passed to the shell for execution. (A metacharacter is a
sequence of one or more characters that the shell interprets as
a  directive with a special meaning.)  For example, the bash,
csh, and ksh shells treat the symbol >> as an  instruction to
append output to a file; or the symbol ; is construed as  a
command separator, which allows grouping of several commands in
one  line. Allowing users to compose a command string that may
contain  metacharacters is highly dangerous. Even running the
shell under an  account with limited privileges, users can still
collect sensitive  information by listing files in the current
directory or exploring  network configuration as they pass the
following string to a shell. For    Another issue of concern is
the ability to manipulate t