#include #include int main() { char *argv[4]; char buf; int fd[2]; pid_t pid; pipe (fd); argv[0] = "bash"; argv[1] = "-ic"; argv[2] = "ls"; argv[3] = '\0'; pid = fork(); if (pid == 0) { setsid (); close (1); close (2); dup2 (fd[1], 1); dup2 (fd[1], 2); close (fd[1]); execvp (argv[0], argv); } else { close (fd[1]); while (read (fd[0], &buf, 1) > 0) write (1, &buf, 1); close (fd[0]); } }