codice:
		if(file = open(line,O_RDONLY)!=-1) {
			printf("Opening file\n");
 			exit(1);
		}
Questo passaggio mi sembra strano: perché esci dal programma se il file descriptor ritornato dalla open è valido?

La risposta alla tua domanda è: dal momento che il tuo programma è sequenziale, l'ordine è quello che hai impostato durante la stesura del programma: se vuoi cambiarlo basta che inverti le posizioni delle read interessate.