This has been discussed (somewhere) before - but in the context of being able to guarantee that the filesystem command is run, and not anything else. Specifying the full path will do that, but to do that portably means the script needs to do its own PATH search, and that's ugly.
The overall conclusion is that (exec command) is the best way to do it. That requires that exec only ever run filesystem commands, which is what it did historically. The standard is simply poorly written (I guess that no-one ever imagined anyone being dumb enough to do it differently). My memory is that this is to be fixed in the next version. Note that the sometimes suggested "env command" isn't guaranteed to work, env just sets up the environment, for the command, then runs it. There's no reason that env cannot be built into a shell, and if it is, then being able to run finctions and builtin commands (particularly with env -i) is a very useful ability to have. kre