in reply to Command line issues

As noted by others, in UN*X your shell expands wildcards before your program ever gets to see them. This is a Good Thing -- it makes your program look like other UN*X programs to the user.

If you really want to override this, here's a way. Again, I strongly recommend you don't do this!

In csh at least, yoou can set the option noglob to turn off wildcard expansion. Use an alias to call your program (and supply this alias to all users). For instance, try this:

% alias echoit '(set noglob; echo \!*)' % echoit foo* bar* [a-z]? foo* bar* [a-z]?
Which seems great until the first time somebody tries to run "echoit foo*" from a /bin/sh script (won't work), or expects your program to run in a globbing context because all other programs do this.