Short answer:
Denoting income by $I$, price by $p$, the demand function by $D(I,p)$ and income elasticity of demand by $\eta$, the definition of point elasticity of income is
$$
\eta = \frac{\text{d}D(I,p)}{\text{d}I}\frac{I}{D(I,p)}.
$$
So the change in demand comes from a change in income.
Long answer:
Without specifying your coordinate system the terms "movement along the curve" and "shift of the curve" are meaningless.
Consider the function $f(a,x) = a/x$. Suppose this function determines the value of a variable $y$, that is $y = f(a,x)$. Given $a$ we can plot $f(a,x)$ in the $(x,y)$ coordinate system. If $x$ changes there is movement along the curve in this coordinate system. If $a$ changes the curve shifts in this coordinate system.
However treating $a$ as a variable and given $x$ we could also plot $f(a,x)$ in the $(a,y)$ coordinate system. Then change in $a$ would mean movement along the curve and change in $x$ would shift the curve.
As quantity demanded usually depends on both income and price, you face a similar situation, where $q = D(I,p)$. Income elasticity examines a change in income, but without specifying if your curve is ploted in $(p,q)$ or $(I,q)$ you cannot classify the change in $I$ as either "movement along the curve" or "shift of the curve".