[step:Permute columns to move pivot columns to the first $k$ positions]Define the permutation $\pi \in S_n$ of $\{1, \ldots, n\}$ by
\begin{align*}
\pi(i) = l(i) \quad \text{for } i \in \{1, \ldots, k\},
\end{align*}
and extend $\pi$ to a bijection on $\{1, \ldots, n\}$ by sending the remaining indices $\{1, \ldots, k\} \setminus \{l(1), \ldots, l(k)\}$... wait — let us restate this carefully. We want a permutation $\pi$ such that applying $\pi$ to the columns of $G_{rr}$ moves the pivot columns at positions $l(1), \ldots, l(k)$ to positions $1, \ldots, k$ respectively, and the remaining $n - k$ columns are placed at positions $k+1, \ldots, n$ in any fixed order.
Concretely, let $\{j_1, \ldots, j_{n-k}\} := \{1, \ldots, n\} \setminus \{l(1), \ldots, l(k)\}$ in increasing order, and define the permutation $\sigma \in S_n$ by
\begin{align*}
\sigma(l(i)) = i \text{ for } i \in \{1, \ldots, k\}, \qquad \sigma(j_t) = k + t \text{ for } t \in \{1, \ldots, n-k\}.
\end{align*}
Then $\sigma$ permutes the coordinate indices so that the pivot positions go to the front. Let $G^* := G_{rr} P$, where $P \in \mathbb{F}_2^{n \times n}$ is the permutation matrix with $P_{ab} = 1$ iff $\sigma(b) = a$, so that right-multiplication by $P$ rearranges columns of $G_{rr}$: the column at position $\sigma^{-1}(a)$ in $G_{rr}$ becomes the column at position $a$ in $G_{rr} P$.
In $G^*$, the first $k$ columns (positions $1, \ldots, k$) are the pivot columns of $G_{rr}$, which are the standard basis vectors $e_1, \ldots, e_k$ of $\mathbb{F}_2^k$. Stacking them gives the identity matrix $I_k$. The remaining $n - k$ columns (positions $k+1, \ldots, n$) form some $k \times (n-k)$ block $B \in \mathbb{F}_2^{k \times (n-k)}$. Hence
\begin{align*}
G^* = (I_k \mid B).
\end{align*}
Let $C^* \subseteq \mathbb{F}_2^n$ be the linear code whose generator matrix is $G^*$, i.e.\ the row space of $G^*$. We claim $C^*$ is equivalent to $C$ via the coordinate permutation $\sigma^{-1}$: for any $c \in C$ (written as a row vector), the vector obtained by permuting its entries according to $\sigma$ lies in $C^*$, and vice versa. Explicitly, if $c = \lambda^\top G_{rr}$ for some coefficient vector $\lambda \in \mathbb{F}_2^k$ (using that $G_{rr}$ is also a generator matrix of $C$, by Step 1), then
\begin{align*}
\lambda^\top G^* = \lambda^\top G_{rr} P = c P
\end{align*}
is the element of $C^*$ corresponding to $c$, with entries permuted by the column-permutation matrix $P$. Hence $C^* = \{c P : c \in C\}$, which is the image of $C$ under coordinate permutation $\sigma$ (in the sense of the equivalence of codes: permuting the $n$ coordinates by $\sigma$). This exhibits $C^*$ as equivalent to $C$.[/step]