To answer your second question "if anyone had ever built a nice program to compute formally this morphism": Looking at http://www.math.uiuc.edu/~nmd/computop/ it seems the answer is probably "no". However, you may be interested in the game Teruaki, written by Kazushi Ahara.
To answer your first question "how does one compute efficiently the induced morphism": Allow me to fix a bit of notation. Let $\gamma$ be the given curve. Let $\delta_i$ be a collection of standard curves -- that is, the Dehn twists $T_i$ about the curves $\delta_i$ generate the (orientation preserving) mapping class group and the action of $T_i$ on $\pi_1(S,p)$ is known. I will assume that $\delta_0$ and $\gamma$ have the same topological type: there is a mapping class $g$ so that $g(\delta_0) = \gamma$.
We will also need the following fact. If $c$ is a curve and $f$ is a orientation preserving surface homeomorphism then
\[
f \circ T_c \circ f^{-1} = T_{f(c)}.
\]
where $T_c$ is the Dehn twist about $c$.
Now to answer the question: realize $g$, the mapping class sending $\delta_0$ to $\gamma$, as a composition of standard twists. Thus $T_\gamma = g \circ T_0 \circ g^{-1}$. The right-hand side is a product of standard twists, and we are done.
There are two remarks needed at this point.
First, the choice of $g$ is not unique and its expression as a product of twists is not unique. In fact there are several different algorithms here - one of the earlier and nicest is given by Lickorish in his foundational paper "A representation of orientable combinatorial 3-manifolds": see the first several pages, leading up to Theorem 1 on page 536. (This part of his paper was partly anticipated by Dehn.)
Second, all of these choices makes one slightly uneasy. The action of $T_\gamma$ on $\pi_1(S,p)$ is some unique thing, written in terms of the given generators, so why can't we just "write it down"? However, I think that this is not possible. That is, there is no simple expression of $T_\gamma(a_1)$, in terms of $\gamma$ written as an element of $\pi_1$. If the intersection pattern between $a_1$ and $\gamma$ is sufficiently complicated, and "transverse", then $T_\gamma(a_1)$ will contain many subwords that look basically like $\gamma$, separated by shortish words representing the pieces of $a_1$. These short pieces of $a_1$ are very sensitive to the intersection pattern. This can all be rephrased in terms of the graph of groups structure induced on $\pi_1$ by $\gamma$ (and the resulting expressions for the $a_i$ and $b_i$) but I'll leave that to an expert.