Run through an array
Clojure, 41 37 bytes

(fn[a k](map #(+(*(rand-int 2)k)%)a))


Knocked off a couple of bytes by multiplying by 0 or 1 and dropping the "if". Credit to most all of the other submitters!