pipe linux

Shell
	
void ejecutar(char **argv,int n){/*Funcion que ejecuta el exec*/

			int i;
		int pip[2];
		pid_t pid;
	
		int entrada=0;
		//printf(stdout);
		for(i=0;i<n-1;i++){
			pipe(pip);
			pid = fork();
		
			if(pid == -1){/*ERROR AL HACER FORK*/
				perror("FALLA FORK");
				exit(EXIT_FAILURE);
			}
			if(pid == 0){/*PORCESO HIJO*/
			
			if(execvp(argv[0],argv)){
						perror("Falla Exec");
						exit(1);
			}
			}else{/*PROCESO PADRE*/
				close(pip[1]);
				entrada = pip[0];
				wait(NULL);
				//kill(ret,SIGTERM);
			
			
			}
		}
	
	}
Source

Also in Shell: