Seu script está assumindo que ele está sendo executado em um shell que suporta matrizes, como bash ou ksh. A falta de uma linha she-bang significa que o cron (por padrão) invocaria / bin / sh para executar o script. Especificamente, definir SHELL=/bin/sh
no crontab impõe esse comportamento.
Se você estiver usando bash interativamente, especifique bash como a linha she-bang - a primeira linha deve ser:
#!/usr/bin/bash
não é a segunda linha ou as linhas subsequentes.
Como alternativa, invoque especificamente o bash no cron job, seja configurando:
SHELL=/usr/bin/bash
ou com:
* * * * * root bash -c "/var/********/script.sh -c file.conf > /dev/null 2> /var/********/errors.log"