# [C++ (gcc)], 197 bytes

<!-- language-all: lang-cpp -->

    #import<bits/stdc++.h>
    using V=std::vector<int>;void f(V&v){V i=v,r=v;std::iota(&i[0],&*end(i),0);std::random_shuffle(&i[0],&*end(i));for(int j=0,n=rand()%v.size();j<n;++j)r[i[j]]=v[i[-~j%n]];v=r;}

[Try it online!][TIO-kxrhr2wk]

[C++ (gcc)]: https://gcc.gnu.org/
[TIO-kxrhr2wk]: https://tio.run/##1VFdb5swFH3Pr7iiKsLBybJ23daAs4dpb9XexgtBFTUmMQt2ZBsWFbGfvsyYbI1ade@zxMe959x7zz2m@/1sQ@nxeMHrvVQmfuBGv9GmoGE4364mjeZiAwmxmeWyZdRIFXNhVlEreQFlkPgt6hLgpMWKtJGjcWnywOfpIsP@lIki4Agv0IipXBSyvtfbpix37BkLRaVUgW0PFVlgQQZygC7bueaPLEBRFYsoDCukUp5WWUZa@539rC5FlkUtUVFvtxB01xQMYi61USyv/7HCZJhU51wEqJuAPdoNNLxmwddvd3dWj0tTKbQBus3V1L4Z/c5UmgGBzlsfvlytD7ef7XPjYTiPr71@rD4fm6zAMG30UNzdYHiL4QrDBwzvegzdGF3bCIMF3zvkI4bb/tTKugPOHi4KdrBNFtHpNx77/jEKwtDlEYyLDScBYyscLXVgFv3FnEYqGwNxDF7qPSFu5GhA3hjpAzcKlmDOO7/oYK/VsggBf2rmD2wzOAyfwPNs5WATGkiW8jSmf0VKBrMVnMsJDPofZHuviVyLE9RP@uMvWu7yjT7OfvwG "C++ (gcc) – Try It Online"  

Inputs a vector of integers.   
Randomly shuffles a random subgroup of the elements in place.