It's a DD-WRT bug, and it was fixed in August 2019.
* A `F_DUPFD_CLOEXEC` parameter to the `fcntl()` function has been available since Linux 2.6.24 in 2008.
* Busybox's Almquist shell started using it ten years later in 2018, for parts of enacting shell redirections.
* But the Linux 2.6 supplied in DD-WRT on some routers was Linux 2.6. **23**.
The fix was to backport support for `F_DUPFD_CLOEXEC` into DD-WRT's Linux 2.6.
# Further reading
* doktornotor (2017-03-26). _Busybox - Invalid argument since r31533 Broadcom K2.6_. DD-WRT bug #5784.
* Denys Vlasenko (2018-03-30). _ash: use`F_DUPFD_CLOEXEC` and `O_CLOEXEC`_. Busybox git.