>>514そういうつもりではなかったのですが、
書き方がかなりマズかったと反省しています。

/tmp/a/base.shが共通の設定スクリプト
(DATA=data/log.dat と置き場所が記述されている)
hoge?.shでは. ./base.sh として設定を読み込んでいます。

/tmp/a/hoge1.sh (hogeを実行するためのラッパー1)
/tmp/a/hoge2.sh (hogeを実行するためのラッパー1)
/tmp/a/hoge   (バイナリ)
/tmp/a/base.sh (設定ファイルのパス)
/tmp/a/data/log.dat (hogeにて使用される)
/tmp/a/hoge.cfg (hogeにて使用される)

hoge?.shを実行すると実際には、
./hoge data/log.dat hoge.cfg のように実行されます。

hoge.shとbase.shの階層が同じなら問題ありませんが、
別の場所(たとえば/tmp/b/data/hoge3.sh)に置いて、
. ../base.shと読み込むと設定の階層がおかしくなります。