The problem of simulating a multi-path channel where the delays are not integer multiples of the sampling time is not trivial. The simplest method is just to round each tap to the nearest sample, however this is not what happens in reality:
Consider a discrete-time transmit signal $s[n]$ which is transmitted over a real channel. I.e. there needs to be some digital-analog-converter followed by a lowpass filter, to generate the continuous-time transmit signal:
$$
s(t) = \sum_ns[n]g(t-nT)
$$
where T is the sampling period and $g(t)$ is the combination of DAC and subsequent low-pass filter. Note that $g(t)$ can be assumed to be RRC or Sinc-filter for example.
Then, the multi-path channels comes in:
$$
r(t) = \sum_k\alpha_k s(t-\tau_k)=\sum_ns[n]\sum_k\alpha_kg(t-nT-\tau_k)
$$
Finally, the received signal is low-pass-filtered with $\gamma(t)$ and discretized:
$$
\begin{align}
r[n'] &= (\gamma(t)*r(t))|_{t=n'T}\\
&=\sum_ns[n]\sum_k\alpha_ku(n'T-nT-\tau_k)
\end{align}
$$
where $u(t)=g(t)*\gamma(t)$. Now, we can write this as a discrete convolution:
$$
r[n'] = \sum_ns[n]h[n'-n]
$$
with
$$
h[n'-n] = \sum_k\alpha_ku((n'-n)T-\tau_k).
$$
Here, $h[n]$ is the discrete-time equivalent channel. Note that this channel is actually neither causal nor finite, since g(t) is bandlimited (and hence infinite in time).
You can understand $h[n]$ as a sampled version of the sum of continuous-time shifts of the overall impulse response without the channel u(t). Normally, u(t) should be a Nyquist-Filter, i.e. it is ISI-free. In this case, and when the channel taps are at integer fractions, you get a well-behaved (i.e. finite and causal) discrete channel.
This is how it works in reality. For simulation, you can generate this h[n] and truncate it, when the tap energy falls below a certain threshold.