Difference between bash sleep and sleep in C program
===

From: http://www.utdallas.edu/~kcooper/teaching/5375/fall08/Tutorial8/tutorial8.htm

(Section "Difference between bash sleep and sleep in C program"):

There is a major difference between how bash sleep command and sleep function of C program works. The sleep function of C programs is a simple function call. When called, it gives up the CPU to the operating system so that it can schedule other processes which need CPU. Then after the specified amount of seconds, the process which called sleep starts working again. 

The sleep command bash works differently. When this command is invoked, it creates a child process of itself. It runs for the specified amount of seconds and then exits back to the calling process. 


 1. Why does bash sleep so complicated? (Why does bash sleep is realized through the forking?)
 2. Why bash sleep can't be like C sleep?



