In Bash, this work:
FOO=foo BAR=bar a_command
But how to make it works?
ENV="FOO=foo BAR=bar"
$ENV a_command
I got:
FOO=foo: command not found
This is what the env command is for
env $ENV a_command
Note that the behaviour you see is documented in the manual -- the shell looks for variable assignments before expanding variables.