Os problemas de reprodução se resumem ao provedor de libc. Ou seja, parece que é um bug no uclibc; veja: link
Em determinadas circunstâncias, cortar imprime o primeiro caractere do campo 1 e todo o campo 2 quando solicitado a imprimir o campo 2 - assim, por exemplo:
printf "4123\t2\t3\t4\t5\n" | cut -f 2
imprime 42; não apenas 2. Eu corri o strace naquele corte e ele mostrou que o corte está imprimindo toda a linha.
O bug parece relacionado a como ele quer tratar linhas sem delimitadores; então um trabalho por enquanto está usando o sinalizador '-s'; assim:
printf "4123\t2\t3\t4\t5\n" | cut -f 2 -s
que imprime "2", como esperado.
Eu imagino que a maioria das pessoas correndo para isso está usando o buildroot; e eu recomendo modificar a configuração do uclibc de acordo com esse link. Principalmente isso significa apenas:
make uclibc-menuconfig
Select y for 'String and Stdio Support --> Provide a macro version of [getc|putc]'
observe que, como isso está alterando a implementação da libc; provavelmente é prudente também reconstruir basicamente tudo.