[proofplan]
Fix an arbitrary field $k$. We prove the homological Cohen-Macaulay condition by checking every link of $K$. The first point is that shellability passes to links: restricting a shelling to the facets containing a given face and deleting that face gives a shelling of the link. The second point is the standard homological consequence of shellability: a finite pure shellable complex has no reduced homology below its top dimension. Applying this to every link gives the desired vanishing over $k$, and since $k$ was arbitrary the conclusion holds over every field.
[/proofplan]
[step:Restrict the shelling to the facets containing a fixed face]
Let $d = \dim K$, and let $F_1, F_2, \dots, F_m$ be a shelling of the facets of $K$. Fix a face $\sigma \in K$. Let $J_\sigma := \{j \in \{1,\dots,m\} : \sigma \subset F_j\}$ be the index set of facets containing $\sigma$, written in increasing order as $J_\sigma = \{j_1 < j_2 < \dots < j_r\}$. For each $a \in \{1,\dots,r\}$, define $G_a := F_{j_a} \setminus \sigma$.
Then $G_1,\dots,G_r$ are exactly the facets of $\operatorname{lk}_K(\sigma)$. Since $K$ is pure of dimension $d$, every facet $F_{j_a}$ has cardinality $d+1$, so every $G_a$ has cardinality $d+1-|\sigma|$. Hence $\operatorname{lk}_K(\sigma)$ is pure of dimension $d - |\sigma|$.
We now verify that $G_1,\dots,G_r$ is a shelling of $\operatorname{lk}_K(\sigma)$. We use the exchange criterion for shellability, which is equivalent to the usual definition of a shelling of a finite pure simplicial complex: for every earlier facet $F_i$ and later facet $F_j$ with $i < j$, there exists $\ell < j$ and a vertex $v \in F_j \setminus F_i$ such that $F_j \setminus F_\ell = \{v\}$.
Take $a < b$. Then $j_a < j_b$, and the shelling criterion for $F_{j_a}$ and $F_{j_b}$ gives an index $\ell < j_b$ and a vertex $v \in F_{j_b} \setminus F_{j_a}$ such that $F_{j_b} \setminus F_\ell = \{v\}$. Because $\sigma \subset F_{j_a} \cap F_{j_b}$, the vertex $v$ is not in $\sigma$. Therefore every vertex of $\sigma$ belongs to $F_\ell$, so $\sigma \subset F_\ell$. Thus $\ell = j_c$ for some $c < b$. Removing $\sigma$ from the displayed equality gives $G_b \setminus G_c = \{v\}$.
This is precisely the shelling criterion for the ordered facets $G_1,\dots,G_r$ of $\operatorname{lk}_K(\sigma)$.
[guided]
Let $d := \dim K$. Since $K$ is finite, pure, and shellable, choose a shelling order $F_1, F_2, \dots, F_m$ of all facets of $K$. Fix a face $\sigma \in K$. The link $\operatorname{lk}_K(\sigma)$ consists of all faces $\tau$ disjoint from $\sigma$ such that $\tau \cup \sigma \in K$. Its facets therefore come from the facets of $K$ that contain $\sigma$: if $F_j$ is a facet of $K$ with $\sigma \subset F_j$, then $F_j \setminus \sigma$ is a facet of the link.
Let $J_\sigma := \{j \in \{1,\dots,m\} : \sigma \subset F_j\}$. Write this set in increasing order as $J_\sigma = \{j_1 < j_2 < \dots < j_r\}$. For each $a \in \{1,\dots,r\}$, define the face $G_a := F_{j_a} \setminus \sigma$.
These $G_a$ are exactly the facets of $\operatorname{lk}_K(\sigma)$. Since $K$ is pure of dimension $d$, every facet $F_{j_a}$ has $d+1$ vertices. Removing the fixed face $\sigma$ removes $|\sigma|$ vertices, so every $G_a$ has $d+1-|\sigma|$ vertices. Hence the link is pure of dimension $d-|\sigma|$.
It remains to prove that the inherited order is a shelling. We use the exchange criterion for shellability, equivalent to the usual definition for finite pure simplicial complexes: if $F_i$ occurs before $F_j$, then there is an earlier facet $F_\ell$ and a vertex $v \in F_j \setminus F_i$ such that $F_j \setminus F_\ell = \{v\}$. Apply this criterion to two facets $G_a$ and $G_b$ of the link with $a < b$. Their corresponding facets in $K$ are $F_{j_a}$ and $F_{j_b}$, and $j_a < j_b$. Thus there exist $\ell < j_b$ and $v \in F_{j_b} \setminus F_{j_a}$ such that $F_{j_b} \setminus F_\ell = \{v\}$.
Because both $F_{j_a}$ and $F_{j_b}$ contain $\sigma$, the vertex $v$ cannot lie in $\sigma$. Therefore no vertex of $\sigma$ was removed when passing from $F_{j_b}$ to $F_\ell$, so $\sigma \subset F_\ell$. Thus $F_\ell$ is one of the facets indexed by $J_\sigma$, say $F_\ell = F_{j_c}$ with $c < b$. Removing $\sigma$ from the equality $F_{j_b} \setminus F_\ell = \{v\}$ gives $G_b \setminus G_c = \{v\}$. This is exactly the exchange criterion for the ordered facets $G_1,\dots,G_r$. Therefore $\operatorname{lk}_K(\sigma)$ is shellable.
[/guided]
[/step]
[step:Use the homology vanishing theorem for pure shellable complexes]
We use the shellable homology vanishing theorem: if $L$ is a finite pure shellable simplicial complex of dimension $q$, then for every field $k$, $\widetilde H_i(L;k) = 0$ for all integers $i < q$.
For the fixed face $\sigma$, the previous step shows that $\operatorname{lk}_K(\sigma)$ is finite, pure, and shellable. Its dimension is $d-|\sigma|$. Applying the shellable homology vanishing theorem to $L := \operatorname{lk}_K(\sigma)$ therefore gives $\widetilde H_i(\operatorname{lk}_K(\sigma);k) = 0$ for every integer $i < \dim \operatorname{lk}_K(\sigma)$.
The argument also covers the case where $\sigma$ is a facet. Then $\operatorname{lk}_K(\sigma)$ is the complex consisting only of the empty face, which has dimension $-1$, and there are no integers $i < -1$ for which a vanishing condition must be checked.
[/step]
[step:Conclude the Cohen-Macaulay condition over the arbitrary field]
By the homological characterization of Cohen-Macaulay simplicial complexes, a finite pure simplicial complex $K$ is Cohen-Macaulay over a field $k$ precisely when $\widetilde H_i(\operatorname{lk}_K(\sigma);k) = 0$ for every face $\sigma \in K$ and every integer $i < \dim \operatorname{lk}_K(\sigma)$.
The previous step proves exactly this condition for the arbitrary field $k$. Hence $K$ is Cohen-Macaulay over $k$. Since $k$ was arbitrary, $K$ is Cohen-Macaulay over every field.
[/step]