Non è uno shift ma una rotazione. E se metti a zero l'ultimo elemento ovviamente non funzionerà mai

Deve essere


codice:
int tmp=v[0];

for(i=0;i<n-2;i++)
   v[i]=v[i+1];

v[n-1]=tmp;