/usr/libexec includes internal binaries
that are not intended to be executed directly by users or shell
scripts. Applications may use a single subdirectory under
/usr/libexec.
Applications which use /usr/libexec in this
way must not also use /usr/lib to store internal
binaries, though they may use /usr/lib for the
other purposes documented here.
Some previous versions of this document did not support
/usr/libexec, despite it being standard practice
in a number of environments.
[26]
To accomodate this restriction, it became common practice to use
/usr/lib instead. Either practice is now
acceptable, but each application must choose one way or the other to
organize itself.