#SmileBASIC, <s>104</s> 81 bytes
    DEF B A@D
    SWAP A[0],A[RND(LEN(A))]FOR I=0TO LEN(A)-2IF A[I]<A[I+1]GOTO@D
    NEXT
    END