I really like a style of the text and the content in particular. It is uniq as it represents a distilled experience. There is no only one right solution. C is still C, but knowing the language doesn't mean everyone will use it in the same way. Experience matters. I will wait for more articles on C/Unix/Low-level programming!
One little note regarding the code:
void usage(char *progname, int opt);
This function takes a second argument, but it is not used in the function's body.
In "1." I'm talking about sys/types.h