Passing parameters with spaces between scripts

I have 2 scripts. test.sh, which calls submit2.sh. One of the parameters contains space and is quoted.

[test.sh]
((((./submit2.sh Group_1_2_AMS_DAILY_CORE_GRP03 AMS AMS_D 'DAILY REPORT PROCEDURES'; echo $?>&3) | tee 1.log >&4)3>&1) | (read xs; exit $xs)) 4>&1


[submit2.sh]
echo parm 1 = $1
 echo parm 2 = $2
 echo parm 3 = $3
 echo parm 4 = $4
 echo parm 5 = $5
 echo output ....
 exit 42


I ran:
$ bash test.sh ; echo $?


I would expect:
parm 1 = Group_1_2_AMS_DAILY_CORE_GRP03
 parm 2 = AMS
 parm 3 = AMS_D
 parm 4 = DAILY REPORT PROCEDURES
 parm 5 =
 output ....
 42


I works fine in Bash shell, but not in ksh. Ksh returns
parm 1 = Group_1_2_AMS_DAILY_CORE_GRP03
parm 2 = AMS
parm 3 = AMS_D
parm 4 = DAILY
parm 5 = REPORT
output ....
42

The 4th parameter is split by word, not by the quoted text. Why is this happening? Any settiings on the Unix level?

It works fine in both bash and ksh on my system, but -- I suspect test.sh is being run in neither bash nor ksh. You've left that to system defaults and hoped. Which means on some systems you might get anything from a 1977-era mouldy old Bourne, to C shell.

Add #!/bin/sh as the first line to both scripts and try again.