You can generate a vector that has, on average, zero correlation simply by randomly permuting your original vector.
v2 = v1[sample(length(v1),length(v1)]
This won't get you a zero-correlation vector every time, but if you run this many times, you'll see that the average correlation value is zero. The method is simple and fast enough that you could permute the vector many times until you find one that does, in fact, have sufficiently small correlation with the original vector.
As a bonus, this method preserves some aspects of your original vector, like the values appearing and their relative frequencies, which might be desirable depending on your application.