There's no need to rotate the array itself when you can just rotate an offset into the array.
LEPYG5TCESV3A6ROIRNPP4J3ETGDKMURPT2W3LJRK7T3PV5UJHGAC
(dotimes (n days)
(let ((zeroes (aref working 0)))
(loop for x from 1 to 8
do (setf (aref working (1- x)) (aref working x)))
(setf (aref working 8) zeroes)
(setf (aref working 6) (+ zeroes (aref working 6)))))
(dotimes (offset (1+ days))
(setf (aref working (mod (+ offset 6) 9)) (+ (aref working (mod (+ offset 8) 9))
(aref working (mod (+ offset 6) 9)))))