Sort write-once array
Here is an approach which is not too efficient in terms of running time. Suppose your array has length $n$, say $A[1],\ldots,A[n]$. Given an element of your array, you can determine its rank (i.e., the value of $k$ such that it is the $k$th smallest element), so we can assume that the array contains a permutation of $1,\ldots,n$.

Consider now the cycle induce by the element $A[1]$, that is, write
$$
A[1] = x_1, A[x_1] = x_2, \ldots, A[x_\ell] = 1.
$$
If $x_1 = 1$ then $1$ is already at the correct place. Otherwise, you want to modify the array so that:
$$
A[1] = 1, A[x_1] = x_1, \ldots, A[x_\ell] = x_\ell.
$$
Hopefully you can see how to do it using constant space.

Go over all the elements $A[1],\ldots,A[n]$ in this way. Elements which you have already sorted (for example, $x_1$ in the example above) will already be at the correct place, so you will only modify each cycle once. In other words, you will only write to each position once.