Rewrote this in bash.

It's a bit faster.

   $ time for ((i=0; i<10000; i++)); do
   ./octocatsay "This is a line"; done >/dev/null

   real  0m34.171s
   user  0m21.377s
   sys   0m11.545s

   $ git co master
   Switched to branch 'master'

   $ time for ((i=0; i<10000; i++)); do
   ./octocatsay "This is a line"; done >/dev/null

   real   0m51.544s
   user   0m23.028s
   sys    0m20.663s

It also now handles multiple arguments, so you can do:
./octocatsay A few words

Instead of having to do:
./octocatsay "A few words"