OPAM can't do the shell eval automatically.
However, there is a bug here anyway. All of the shells invoked by OPAM
(including the builds of the packages) should have the correct environment
variables set, so it's very odd that CAML_LD_LIBRARY_PATH appears to be
incorrect. You shouldn't need to run the eval for opam invocations: only for
using the OCaml environment outside of OPAM.
What OPAM version are you using?
-a