As Hatcher suggests we can deduce that the lift of a constant path is constant more directly as follows. Suppose $p : \tilde{X} \to X$ is a covering map. Then by assumption $f : I \to X$, say that it maps all of $I$ to some point $x_0 \in X$. Now because $p$ is a covering map, we have that there is an open set $U$ about $x_0$ such that $p^{-1}(U)$ is a disjoint union of open sets $\bigsqcup_{\alpha} U_\alpha$ each of which maps homeomorphically onto $U$. More concisely, we can think of $p$ as a special case of a local homeomorphism.
Now choose a lift $\tilde{f}$ of $f$ such that $\tilde{f}(0) = \tilde{x_0}$ for some $\tilde{x_0}$ in the fibre of $x_0$. Our aim now is to prove that in fact $\tilde{f} (t) = \tilde{x_0}$ for every $t \in I$. Now first of all $\tilde{x_0}$ is contained in one of those open sets (say $U_{\tilde{x_0}}$) which maps homeomorphically onto $U$. Then by continuity of the lift I can choose an open set $V$ about $0$ such that
$\tilde{f}(V) \subseteq U_{\tilde{x_0}}.$
Now if we apply $p$ to this and using the fact that $f$ is constant we arive at
$p\tilde{f}(V) = x_0.$
Now the key point now is because $\tilde{f}(V) \subseteq U_{\tilde{x_0}}$ and
$p\bigg|_{U_{\tilde{x_0}}}: U_{\tilde{x_0}} \stackrel{\simeq}{\longrightarrow } U$
we can apply the local inverse of $p$ to obtain that $f(V) = \tilde{x_0}$. But now this means that $f$ is locally constant on the connected set $I$ and hence is constant everywhere on $I$.