make からプログラムを実行するときに権限が拒否されました

make からプログラムを実行するときに権限が拒否されました

fluttermake から実行できない問題をデバッグしようとしています。

Makefileこれは問題を再現する最小限のものです。

fails:
    flutter doctor

works:
    sh -c flutter doctor

対応する出力は次のようになります。

➜ make fails
flutter --version
make: flutter: Permission denied
make: *** [Makefile:2: fails] Error 127
➜ make works
sh -c "flutter --version"
Flutter 2.2.2 • channel stable •
https://github.com/flutter/flutter.git
Framework • revision d79295af24 (7 days ago) • 2021-06-11 08:56:01
-0700
Engine • revision 91c9fc8fe0
Tools • Dart 2.13.3

また、パス内で などの他の実行可能ファイルを実行しても問題なく動作することにも気付きましpythongo

この種の問題をどのようにデバッグするか、つまり、権限が拒否された正確な理由をどのように見つけ、それをどのように修正するかを知りたいです。

編集: 興味深いことに、 を実行しwhich flutterてフルパスを使用するとMakefile、すべて正常に動作します。

also-works: 
    which flutter
    /full/path/to/bin/flutter --version

出力は次のようになります:

➜ make also-works
which flutter
/full/path/to/bin/flutter
/full/path/to/bin/flutter --version
Flutter 2.2.2 • channel stable •
https://github.com/flutter/flutter.git
Framework • revision d79295af24 (7 days ago) • 2021-06-11 08:56:01
-0700
Engine • revision 91c9fc8fe0
Tools • Dart 2.13.3

関連情報