Muchas gracias por los comentarios y las opciones propuestas.
Comento ahora porque me está pasando una cosa
absolutamente fantasmagórica con mi script. (Y no exagero, me he roto la cabeza durante horas y no entiendo qué coj... está pasando).
Aviso que esto es para valientes

El misterio es que mi script, en teoría (y en la práctica), aún siendo menos eficiente que los vuestros.... funciona perfectamente:
Enciende y apaga cada relé independientemente de los demás.
Sin embargo.... hay algún caso particular, según el orden de encendido que hace que el comando cut falle:
Me explico breve y directamente:
ESTADOBIN=1010
Si a eso le aplico un cut -c 2-4 debería devolverme 010, verdad?
Pues me devuelve 8

WTF.
Le he puesto un par de echos en el script, antes del comando cut, para asegurarme de que el contenido de la variable es exactamente correcto.
Y LO ES.
Este es el trozo FANTASMA (fallo totalmente inexplicable, sucesos paranormales) del script:
echo "ESTADOBIN en 4 es $ESTADOBIN"
newState_BRUTO_der=$(($(echo $ESTADOBIN | cut -c 2-4)))
newState_BRUTO_der_OK=$(printf "%03d" $newState_BRUTO_der)
echo "_____________"
echo "newState_BRUTO_der $newState_BRUTO_der (cut 2-4)"
echo "newState_BRUTO_der_OK $newState_BRUTO_der_OK printf %03d"
echo "_____________"
Y esta es la salida:
ESTADOBIN en 4 es 1010
_____________
newState_BRUTO_der 8 (cut 2-4)
newState_BRUTO_der_OK 008 printf %03d
_____________
Me joden muchísimo estas cosas, porque deja mi razonamiento y mi lógica por los suelos. Es como si un duendecillo se estuviera cachondeando de mí.
Si algún valiente e intrépido detective no le tiene miedo a los expedientes X y se atreve a enfrentarse a lo desconocido.... que me avise. Lo invitaré a una cerveza con mucho gusto.
El caso es que el relé número 4 se enciende y apaga perfectamente, de forma independiente. Es cuando hago cierta secuencia de encendido y apagado de otros relés cuando se produce el inexplicable fallo del cut. Esta es la secuencia que produce fallo:
./rele.sh 1 on (OK, perfecto)
./rele.sh 2 on (OK, perfecto)
./rele.sh 3 on (OK, perfecto)
./rele.sh 2 off (OK, perfecto)
./rele.sh 4 on SUCESO PARANORMAL. cut debe devolver 010, en cambio, me devuelve 8

Totalmente inexplicable.