Father & children

I guess I'll leave this thread open for now. Maybe someone will close it though. Anyway please review the rules.

I can't guess what the program is supposed to do. But unix is byte oriented. Multiplying the third parameter of read() and write() by sizeof(char) is almost always wrong. This is very dangerous:
char frase[MAXNAME];
read(tubo2[0], frase, MAXNAME*sizeof(char))
although I don't see how it can get past a compiler with no semicolon. The other reads and writes are all for zero bytes. Reading and writing zero bytes is legal, but probably not useful.