cvmfs/util/posix.cc
bool Shell(int *fd_stdin, int *fd_stdout, int *fd_stderr) {
  const bool double_fork = true;
  return ExecuteBinary(fd_stdin, fd_stdout, fd_stderr, "/bin/sh",
                       vector<string>(), double_fork);
}
/**
 * Opens /bin/sh and provides file descriptors to write into stdin and
 * read from stdout.  Quit shell simply by closing stderr, stdout, and stdin.
 */
Opens /bin/sh and provides file descriptors to write into stdin and
read from stdout.  Quit shell simply by closing stderr, stdout, and stdin.
Opens / bin / sh and provides file descriptors to write into stdin and read from stdout . Quit shell simply by closing stderr stdout and stdin .
bool Shell(int *fd_stdin, int *fd_stdout, int *fd_stderr) {
  const bool double_fork = true;
  return ExecuteBinary(fd_stdin, fd_stdout, fd_stderr, "/bin/sh",
                       vector<string>(), double_fork);
}
bool Shell ( int * fd_stdin , int * fd_stdout , int * fd_stderr ) { const bool double_fork = true ; return ExecuteBinary ( fd_stdin , fd_stdout , fd_stderr , " " , vector < string > ( ) , double_fork ) ; }
Opens /bin/sh and provides file descriptors to write into stdin and
 read from stdout.
Opens / bin / sh and provides file descriptors to write into stdin and read from stdout .