How to make bash wrapper for java/groovy program with variable length arguments lists?

The following bash script does not work because the java/groovy code always thinks there are four arguments even if there are only 1 or 2. As you can see from my hideous backslashes, I am using cygwin bash on windows.

export CLASSPATH=${GROOVY_HOME}\\embeddable\\groovy-all-1.7.4.jar\;c:\\Documents\ and\ Settings\\a-sheintze\\My\ Documents\\eclipse-workspace\\js\\grep\\src\\siegfried\\bin\;.  
java siegfried.grep $1 $2 $3 $4 

How can I fix this problem with bash or some other shell?

I would like to know how to fix this problem with cmd.exe but I fear this is the wrong forum for that! (If anyone knows, please let me know!)

Thanks,
siegfried

The special variable "$@" expands to all arguments, even when quoted like that. When not quoted, it might split on spaces in filenames, so keep it quoted just as shown.