Interestingly enough, the book consist of 25% bawwing that C is to hard, 50% historical anecdotes, 25% C rules that any serious C programmer already knows, 0% expert programming and 0% deep secrets.
The problem was caused by bad parsing of arguments, but it was facilitated by inadequate classification of arguments between switches and filenames. Many operating systems (e.g., VAX/VMS) distinguish between runtime options and other arguments (e.g., filenames) to programs, but UNIX does not; nor does ANSI C.