#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int main()
{
	int f_des[2];

	if(pipe(f_des) == -1)
	{
		perror("pipe");
		exit(1);
	}

	switch(fork())
	{
		case -1:
			perror("fork");
			exit(2);
		case 0:
			dup2(f_des[1], fileno(stdout));
			close(f_des[0]);
			close(f_des[0]);
			execl("/usr/bin/last", "last", (char *) 0);
			exit(3);
		default:
			dup2(f_des[0], fileno(stdin));
			close(f_des[0]);
			close(f_des[1]);
			execl("/bin/sort", "sort", (char *) 0);
			exit(4);
	}
}
