Using the above I get the parameters passed but still with anomolies.
I have changed the approach successfully but as you will see UBOUND gives a false value and some of the arguments are blank.
break on

$CL=GetCommandLine(0)

If IsDeclared($CL)
$CL ?
$CL=split(GetCommandLine(0)," ")
$X=0
for each $n in $CL
? "Parameters "+$x+"="+$n+@crlf
$X=$X+1
if $N <>""
$ARG=$N
Endif
next
? "Last Parameter = "+$ARG
EndIf
Quit()