Hi I have the following program, I understand how pipes work and fork() etc.. but I have a question. why this program doesn't print "baz\n" 
the result is : 
bar
foo 

```
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(){
    int fd[2];
    char buf[32];

    pipe(fd);
    if(fork()==0){
        dup2(fd[1],1);
        printf("foo");
    }
    else{
        read(fd[0],buf,31);
        execl("/bin/echo","/bin/echo","bar",buf,0);
        printf("baz\n");

    }

}

```