How to execute mfg/pro progress code in unix by bash file

Dear all,

I want to call progress code by bash scripts.
The db version is progress 9.1d.
The bash code like this:

#!/bin/sh

DLC=/mfgpro/dlc91d;export DLC
PATH=$PATH:$DLC;export PATH
PROMSGS=$DLC/promsgs;export PROMSGS
PROTERMCAP=$DLC/protermcap;export PROTERMCAP
PROPATH=$PROPATH:/mfg/hhh/,/mfg/hhh/ch/xx,/mfgpro/qadeb2sp4/,/mfgpro/qadeb2sp4/bbi,/mfgpro/qadeb2sp4/src/,/mfgpro/qadeb2sp4/xrc; export PROPATH

#$DLC/bin/mbpro -pf $1 -p $2 > /dev/null
$DLC/bin/mpro -pf $ -p $2

The parameter 1 is db pf file.
The parameter 2 is my progress code.

When I run command "esbbat.sh /mfgpro/qadeb2/ytdemo.pf xxtest.p" in unix, it shows
---------------------------------------------------------------------------------------
/mfgdb/interface/esb/batch# xxtest.p Shared variable global_user_lang_
dir has not yet been created. (392)
** Unable to run startup procedure xxtest.p. (492)
---------------------------------------------------------------------------------------

xxtest.p contents:

{mfdtitle.i}
for each si_mstr no-lock:
disp si_site si_desc.
end.


AttachmentSize
xxtest.p69 bytes
esbbat.txt421 bytes