Ignore the .bat extensions, just a habit from the old dos batch file days.
I have 2 simple shell scripts. I want to pass a filename with spaces (some file with spaces.ext) from little.bat to big.bat, as you can see below. It won't let me put the filename in single or double quotes.
First one called little.bat:
./big.bat some file with spaces.ext
Second one called big.bat:
cat template.iss | sed "s/replace123/$1/g" | sed "s/replace456/$1/g" > $1.iss