Ein "which let" zeigt bei mir, dass es das nicht als Kommando gibt (ein alias ist es auch nicht, weiss grade selber nicht was es dann wohl ist). Daher wohl die Meldung.
Die Alternative ist dann mit "expr" zu arbeiten. Falls sich expr etwas ziert hilft es, die Variable mit "typeset -i" zu definieren.
edit: Falls ich das gerade richtig entdeckt habe, ist "let" eine bash-Funktion. Damit das geht musst du auch sicherstellen, dass das Skript mit der bash aufgerufen wird.
Und auch dann darf die bash nicht über einen Link augerufen werden. Wird die bash z.B. als über /bin/sh aufgerufen, werden diverse Funktionen abgeschalten, um standardkonform zu sein (was die bash dann trotzdem nicht ganz exakt ist).
Also löst du das Problem evtl. auch, sobald du als Shebang-Zeile "!#/bin/bash" einträgst oder in deinem cron "/bin/bash <Skript>" einträgst.