Kommt darauf an, wie du das Programm aufrufst.
Wenn die Parameter so definiert sind, dann darfst du das auch nicht anders aufrufen.
Leider gibt es keine Aufrufprüfung für Parameter.

Sicherlich werden die Parameter beim Call aus der Kommandozeile hintereinander abgelegt.

Es war schon immer so, wenn die Übergabe nicht passt wird auf Speicher der einem nicht gehört zugegriffen.

Wenn du variable Felder benötigst, so solltest du halt eine Längeninformation voranstellen.
Im RPGLE als "varying" definiert, steht in 2 Bytes vorneweg die Länge.

In CLLE kann man dann per %bin die Länge auswerten und mit %sst dann auf den Teilstring zugreifen.