proc ファイルシステムから環境変数を取得できません。

proc ファイルシステムから環境変数を取得できません。

次のスクリプトがあります。

$ cat foo.sh
NAME=bar
while true
do
  echo "My name is $NAME"
done

私が理解したのは、/proc/pid/environにはプロセスで使用される環境変数が含まれています。ところで確認してみると、NAME/proc//environで定義された変数は見つかりませんでした。

$ sh foo.sh &
$ strings /proc/$(pidof sh)/environ |grep NAME
HOSTNAME=localhost
LOGNAME=root

/proc/pid/environの私の理解が間違っているようです。そのファイルにシステム変数のみが含まれており、プロセスで内部的に使用される変数が含まれていないことを確認できますか?

関連情報