Se lavori con la Posix API, puoi usare la funzione alarm dichiarata in unistd.h che fa appunto quello che richiedi tu..
Qui più info..
Spero che ti possa tornare utile..