「dyld: DYLD_ environment variables being ignored because main executable (>) is setuid or setgid」への対処

ようするに、LD_LIBRARY_PATHやDYLD_LIBRARY_PATHを設定している環境で、実行しようとするファイルにsetuidやsetuidされているだめよ?
ということと理解したので、こんな感じで .zshrcに記述を追加。

precmd() {
    #略
    export LD_LIBRARY_PATH=$LDP
    export DYLD_LIBRARY
    #略
}

preexec () {
    LDP=$LD_LIBRARY_PATH
    DLDP=$DYLD_LIBRARY_PATH
    
    #dyld: DYLD_ environment variables being ignored because main executable (/usr/bin/crontab) is setuid or setgid
    #の暫定対処
    COMMAND="${1} "
    COMMAND1="${${(s: :)COMMAND}[1]}"
    COMMAND2=`which $COMMAND1` 
    COMMAND3=`ls -al $COMMAND2 2>/dev/null`
    COMMAND4="${${(s: :)COMMAND3}[1]}"
    if [ "$COMMAND4[4,4]" == "s" ] ; then
        unset LD_LIBRARY_PATH
        unset DYLD_LIBRARY_PATH
    elif [ "$COMMAND4[7,7]" == "s" ] ; then
        unset LD_LIBRARY_PATH
        unset DYLD_LIBRARY_PATH
    fi
}

sudoなどを直接実行するとOKぽい。
ただシェルスクリプトなんかで書いていると駄目。
そんな時は、シェルの中で

        unset LD_LIBRARY_PATH
        unset DYLD_LIBRARY_PATH

でOKかな?

まぁ、実際ほんとにこれでいいのかは謎。
うまくいっているからいいや。

以上。

追伸
あ、お久しぶりです!(ぉ