For example:
$ dotenv-exec --no-default --file <(echo 'BEES=13') -- env | grep BEES
BEES=13
$ BEES=42 dotenv-exec --no-default --file <(echo 'BEES=13') -- env | grep BEES
BEES=42
I realise in this cut-down it's a bit more obvious what's going on, however if the parent environment value is truly from the environment and the file value is in a real file then it's much less clear.
It might be nice if dotenv-exec warned about such cases and/or offered a CLI flag to choose the desired behaviour -- especially as empty values are still preserved:
$ export BEES=42
$ BEES= dotenv-exec --no-default --file <(echo 'BEES=13') -- env | grep BEES
BEES=