first off, I'd use getopt instead of trying to parse your way through the argv's yourself. That will make your life a lot easier. If you do that, then the your options will look something like so:
set argv = ( `/usr/bin/getopt c:vr: $*` )
set COUNTFILES = ""
foreach i ( $* )
switch ( $i )
shift # this essentially removes '-c' from the arg list
set COUNTFILES = ($CONUTFILES $1) # $1 is now the optarg for -c. Doing the assignment this way will create an array of each one of the files to be counted
shift # essentially removed the -c optarg from the arg list
# do some -r stuff
# do some -v stuff
# note there is no need for a second shoft because, in this case, v doesn't take an optarg
foreach f ($COUNTFILES)
count.s $f # $f in this case will go through each one of the things stored in $COUNTFILES
Make sense at all? Am I missing your point? To be honest, your question is pretty hard to parse.