The dollar was invented for that purpose because the very earliest shells had a notion of scripting, but they did not have a notion of parameterizing the scripting. By the time scripting was slightly more mature than the very first script, there was a convention that just like the first word on the line is the name of the program, the following words could be names of files. The flip side of that is forcing the strictness onto the beginning programmer to teach them that programming is values and attention to details.