Running an Intel-only executable on an Apple Silicon Mac without Rosetta 2 installed fails with 'zsh: bad CPU type in executable'. The message names the shell, which sends people looking for a shell problem, but the cause is the Mach-O binary containing no arm64 slice.
Confirm with 'lipo -archs /path/to/binary' or 'file /path/to/binary'. A universal binary lists both x86_64 and arm64; an Intel-only one lists x86_64 alone.
Install the translation layer with 'softwareupdate --install-rosetta --agree-to-license', which is scriptable and does not need the GUI. To run a specific command under translation once Rosetta is present, prefix it with 'arch -x86_64'. An entire shell can be started that way, which is the usual approach for a toolchain that has no native build, and any process it launches inherits the translated architecture. Note that Rosetta translates user-space code only, so kernel extensions and virtualization of x86 guests are not covered, and native arm64 processes cannot load x86_64 libraries in the same address space.